Programmable Self-Adjusting Computation

نویسندگان

  • Ruy Ley-Wild
  • Stephen Brookes
  • Robert Harper
  • Umut Acar
چکیده

Self-adjusting computation is a paradigm for programming incremental computations that efficiently respond to input changes by updating the output in time proportional to the changes in the structure of the computation. This dissertation defends the thesis that high-level programming abstractions improve the experience of reading, writing, and reasoning about and the efficiency of self-adjusting programs. We show that high-level language constructs are suitable for writing readable self-adjusting programs and can be compiled into low-level primitives. In particular, language constructs such as ML-style modifiable references and memoizing functions provide orthogonal mechanisms for identifying stale computation to re-execute and opportunities for computation reuse. An adaptive continuation-passing style (ACPS) transformation compiles the high-level primitives into a continuation-passing language with explicit support for incrementality. We show that a high-level cost semantics captures the performance of a self-adjusting program and a theory of trace distance suffices for formal reasoning about the efficiency of self-adjusting programs. The formal approach enables generalizing results from concrete runs to asymptotic bounds and compositional reasoning when combining self-adjusting programs. We raise the level of abstraction for dependence-tracking from modifiable references to traceable data types, which can exploit problem-specific structure to identify stale computation. We consider in-order memoization that efficiently reuses work from previous runs in the same execution order and out-of-order memoization that allows previous work to be reordered at an additional expense. The compilation approach is realized in the ∆ML language, an extension to SML, and implemented as an extension to MLton with compiler and runtime support. Experimental evaluation of ∆ML shows that applications with modifiable references are competitive with previous approaches. Moreover, traceable data types enable an asymptotic improvement in time and space usage relative to modifiable references.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Implementation of Face Recognition Algorithm on Fields Programmable Gate Array Card

The evolution of today's application technologies requires a certain level of robustness, reliability and ease of integration. We choose the Fields Programmable Gate Array (FPGA) hardware description language to implement the facial recognition algorithm based on "Eigen faces" using Principal Component Analysis. In this paper, we first present an overview of the PCA used for facial recognition,...

متن کامل

Self-adjusting Computation with Delta ML

In self-adjusting computation, programs respond automatically and efficiently to modifications to their data by tracking the dynamic data dependences of the computation and incrementally updating the output as needed. In this tutorial, we describe the self-adjustingcomputation model and present the language ∆ML (Delta ML) for writing self-adjusting programs.

متن کامل

Implementing Implicit Self-Adjusting Computation

Computational problems that involve dynamic data have been an important subject of study in programming languages. Recent advances in self-adjusting computation have developed techniques that enable programs to respond automatically and efficiently to dynamic changes in their inputs. But these techniques have required an explicit programming style, where the programmer must use specific monadic...

متن کامل

Throughput/Precision Computation Of Convolution In Programmable Processors

Convolution and cross-correlation are the basis of filtering and pattern or template matching in digital signal processing (DSP). We propose a throughput scaling technique for any one-dimensional convolution kernel in programmable processors by adjusting the imprecision (distortion) of computation. Our approach is based on scalar quantization, followed by a new form of tight packing in floating...

متن کامل

Collaborative Computation in Self-Organizing Particle Systems

Many forms of programmable matter have been proposed for various tasks. We use an abstract model of selforganizing particle systems for programmable matter which could be used for a variety of applications, including smart paint and coating materials for engineering or programmable cells for medical uses. Previous research using this model has focused on shape formation and other spatial config...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2010